// C++ 二阶 课堂记录
// #include <bits/stdc++.h>
#include <iostream>
using namespace std;
// 值传递
// void swap(int a, int b);

// 通过地址传递，利用指针交换外部 a b 的值

// void bubbleSort(int a[], int n) {
//   for (int i = n; i > 0; i--) {
//     // i => n - 1
//     for (int j = 0; j < i; j++) {
//       if (a[i] < a[j]) {
//         int temp = a[i];
//         a[i] = a[j];
//         a[j] = temp;
//       }
//     }
//   }
// }
void swap(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}

// void swap(int* a, int* b) {
//   int temp = *a;
//   *a = *b;
//   *b = temp;
// }
int main() {
  // int a = 10, b = 12;
  // 交换 a b 的值
  // swap(a, b);
  // cout << a << " " << b << endl;
  // 0-9 A B C D E F
  // enum typedef const
  // 取地址符 & 解引用 *
  int arr[10] = {9, 2, 3, 4, 5, 7, 6, 1, 0, 8};
  // int* parr[10];
  // for (int i = 0; i < 10; i++) {
  //   // parr[i] = &arr[i];
  //   parr[i] = arr + i;
  // }
  for (int i = 9; i > 0; i--) {
    for (int j = 0; j < i; j++) {
      if (arr[j] > arr[j + 1]) {
        swap(arr[j], arr[j + 1]);
      }
    }
  }
  for (int i = 0; i < 10; i++) {
    cout << arr[i] << " ";
  }
  // cout << *arr << endl;

  // 防止中文乱码
  // system("chcp 65001 > nul");
  // cout << "Hello, World!" << endl;
  // int n;
  // cin >> n;                      // 输入整数 n
  // int prime[n + 1] = {1, 1, 0};  // 初始化质数数组，1 为合数 0 为 质数
  // // 筛选质数，从 2 到 sqrt(n)
  // for (int i = 2; i <= n / i; i++) {
  //   // 如果是质数，就把它的倍数全筛掉
  //   if (!prime[i]) {
  //     for (int j = i * i; j <= n; j += i) {
  //       prime[j] = 1;  // 设置为合数
  //     }
  //   }
  // }
  // int count = 0;  // 记录质数个数
  // for (int i = 2; i <= n; i++) {
  //   if (!prime[i]) {
  //     count++;
  //   }
  // }
  // cout << count << endl;
  return 0;
}